Ajax এর মাধ্যমে PHP স্ক্রিপ্ট এক্সিকিউশন করার মাধ্যমে ডায়নামিক ডেটা লোড করা এবং ব্যবহারকারীদের সাথে ইন্টারেক্ট করা সম্ভব হয়। Ajax ব্যবহার করে আপনি PHP স্ক্রিপ্টকে সার্ভার-সাইডে এক্সিকিউট করতে পারেন, যা ব্রাউজারে পেজ রিফ্রেশ ছাড়াই রেসপন্স ফেরত পাঠায়। নিচে একটি উদাহরণসহ Ajax এর মাধ্যমে PHP স্ক্রিপ্ট এক্সিকিউশন এবং ডেটা প্রদর্শনের ধাপগুলো আলোচনা করা হলো।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax PHP Script Execution Example</title>
</head>
<body>
<h1>Execute PHP Script Using Ajax</h1>
<button onclick="fetchData()">Fetch Data</button>
<div id="data-container">
<!-- ডেটা এখানে দেখানো হবে -->
</div>
<script>
function fetchData() {
// XMLHttpRequest অবজেক্ট তৈরি করা
var xhr = new XMLHttpRequest();
// GET রিকোয়েস্ট ওপেন করা
xhr.open("GET", "execute_script.php", true);
// রেসপন্স হ্যান্ডলিং সেট করা
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) { // রিকোয়েস্ট সফল হলে
document.getElementById("data-container").innerHTML = xhr.responseText;
} else if (xhr.readyState === 4) {
// যদি এরর হয়, তাহলে এরর মেসেজ দেখানো
document.getElementById("data-container").innerHTML = "Error executing PHP script!";
}
};
// রিকোয়েস্ট পাঠানো
xhr.send();
}
</script>
</body>
</html>
বিস্তারিত ব্যাখ্যা:
<h1>
), একটি বোতাম (<button>
), এবং একটি <div>
এলিমেন্ট রয়েছে।fetchData()
ফাংশন কল হবে, যা Ajax রিকোয়েস্ট করে PHP স্ক্রিপ্ট (execute_script.php
) এক্সিকিউট করবে এবং তা প্রসেস করবে।data-container
নামে একটি <div>
এলিমেন্ট রয়েছে, যেখানে PHP স্ক্রিপ্ট থেকে প্রাপ্ত ডেটা বা রেসপন্স দেখানো হবে।<?php
// ডাটাবেস কানেকশন সেটআপ
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";
$conn = new mysqli($servername, $username, $password, $dbname);
// কানেকশন চেক করা
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কুয়েরি
$sql = "SELECT name, email FROM users";
$result = $conn->query($sql);
// রেসপন্স তৈরি করা
if ($result->num_rows > 0) {
echo "<h2>Users List:</h2><ul>";
while ($row = $result->fetch_assoc()) {
echo "<li>" . $row['name'] . " - " . $row['email'] . "</li>";
}
echo "</ul>";
} else {
echo "No users found.";
}
// ডাটাবেস কানেকশন বন্ধ করা
$conn->close();
?>
বিস্তারিত ব্যাখ্যা:
localhost
এ MySQL সার্ভারের সাথে কানেক্ট করা হয়েছে।users
টেবিল থেকে name
এবং email
কলামগুলো ফেচ করা হয়েছে।echo
) করা হয়েছে।ডাটাবেসের নাম test_db
এবং টেবিলের নাম users
। টেবিলের একটি সিম্পল স্ট্রাকচার:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
fetchData()
ফাংশন কল হয়।execute_script.php
এ, যা PHP স্ক্রিপ্টকে এক্সিকিউট করে এবং ডেটা ফেরত পাঠায়।data-container
ডিভে ইনজেক্ট করা হয়।xhr.onreadystatechange
এ চেক করা হয়েছে যে রিকোয়েস্ট সফল হয়েছে কিনা (xhr.status === 200
)।এই উদাহরণটি অনুসরণ করে আপনি Ajax এবং PHP ব্যবহার করে ডাইনামিক ডেটা ফেচ এবং ডিসপ্লে করতে পারবেন। এটি ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ডাইনামিক ডেটা ম্যানেজমেন্টের একটি সাধারণ এবং কার্যকর পদ্ধতি।
Read more